Visual representation of signal strength using machine learning models

ABSTRACT

Information about a signal device is received at a first location in a first physical environment. The signal device broadcasts a signal to a computing device. A first indication is received from the computing device. The first indication includes a first strength of signal of the signal device received by the computing device. Whether the first strength of signal is above a threshold is determined. A second location is determined. The second location is where the computing device is located when the first strength of signal is above the threshold. The second location is within the first physical environment. A first visual representation of the first physical environment is displayed. The first visual representation includes one or more of the following: the signal device at the first location, at least one physical item found in the physical environment, a broadcasting power of the signal device, and the second location.

BACKGROUND

The present invention relates generally to the field of machine learningmodels, and more particularly to making predictions using machinelearning models.

In computing, machine learning is a subfield of computer science thatevolved from the study of pattern recognition and computational learningtheory in artificial intelligence. Machine learning explores the studyand construction of algorithms that can learn from and make predictionof data. Such algorithms operate by building a model from example inputsin order to make data-driven predictions or decisions.

SUMMARY OF THE INVENTION

Embodiments of the present invention include a method, computer programproduct, and system for determining, modeling, and displaying signalstrength in a physical environment. In one embodiment, information abouta signal device is received at a first location in a first physicalenvironment. The signal device broadcasts a signal to a computingdevice. A first indication is received from the computing device. Thefirst indication includes a first strength of signal of the signaldevice received by the computing device. Responsive to receiving thefirst indication from the computing device, whether the first strengthof signal is above a threshold is determined. Responsive to determiningthe first strength of signal is above the threshold, a second locationis determined. The second location is where the computing device islocated when the first strength of signal is above the threshold. Thesecond location is within the first physical environment. A first visualrepresentation of the first physical environment is displayed. The firstvisual representation includes one or more of the following: the signaldevice at the first location, at least one physical item found in thephysical environment, a broadcasting power of the signal device, and thesecond location.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a functional block diagram of a data processingenvironment, in accordance with an embodiment of the present invention;

FIG. 2 depicts a flowchart of operational steps of a program fordetermining and modeling signal strength in a physical environment, inaccordance with an embodiment of the present invention;

FIG. 3 depicts a flowchart of operational steps of a program fordisplaying signal strength in a physical environment, in accordance withan embodiment of the present invention;

FIGS. 4A and 4B depict example visual representations of signal strengthin a physical environment, in accordance with an embodiment of thepresent invention; and

FIG. 5 depicts a block diagram of components of the computer of FIG. 1,in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide for determining an area anddetermining the signal devices and physical items found in the area.Embodiments of the present invention provide for determining signalstrength of devices in the area. Embodiments of the present inventionprovide for creating a machine learning model for different signaldevices and characteristics of an area using the determined signalstrength of devices in the area. Embodiments of the present inventionprovide for creating visual representations of signal strength of signaldevices found in area using the created machine learning models for thesignal devices and the characteristics found in the area.

Embodiments of the present invention recognize that Bluetooth™ andwireless fidelity (Wi-Fi) devices (i.e., signal devices) are the mostpopular means of providing enhanced experiences for customers of venues,such as stadiums, airports, retail stores and hospitals. Embodiments ofthe present invention recognize that these devices have a disadvantagewhen it comes to ranging the transmission of the signal of the signaldevice. Embodiments of the present invention recognize that thesedevices often have different ranges for the transmission of the signalthan characterized by the specifications of the signal device.

The present invention will now be described in detail with reference tothe Figures.

FIG. 1 is a functional block diagram illustrating a data processingenvironment, generally designated 100, in accordance with one embodimentof the present invention. FIG. 1 provides only an illustration of oneimplementation and does not imply any limitations with regard to thesystems and environments in which different embodiments may beimplemented. Many modifications to the depicted embodiment may be madeby those skilled in the art without departing from the scope of theinvention as recited by the claims.

An embodiment of data processing environment 100 includes computingdevice 110, signal device(s) 120, mobile device(s) 130, and locationdevice(s) 140, interconnected over network 102. Network 102 can be, forexample, a local area network (LAN), a telecommunications network, awide area network (WAN) such as the Internet, or any combination of thethree, and include wired, wireless, or fiber optic connections. Ingeneral, network 102 can be any combination of connections and protocolsthat will support communications between computing device 110, signaldevice(s), mobile devices(s), location devices(s), and any othercomputer connected to network 102, in accordance with embodiments of thepresent invention. In an embodiment, data collected and/or analyzed byany of signal device(s) 120, mobile device(s) 130, and locationdevice(s) 140 may be received by another computing device (not shown)and communicated to computing device 110 via network 102.

In an embodiment, computing device 110 may be a laptop, tablet, ornetbook personal computer (PC), a desktop computer, a personal digitalassistant (PDA), a smart phone, camera, video camera, video device orany programmable electronic device capable of communicating with anycomputing device within data processing environment 100. In certainembodiments, computing device 110 collectively represents a computersystem utilizing clustered computers and components (e.g., databaseserver computers, application server computers, etc.) that act as asingle pool of seamless resources when accessed by elements of dataprocessing environment 100, such as in a cloud computing environment. Ingeneral, computing device 110 is representative of any electronic deviceor combination of electronic devices capable of executing computerreadable program instructions. In an embodiment, computing device 110may include components as depicted and described in detail with respectto FIG. 5, in accordance with embodiments of the present invention.

In an embodiment, computing device 110 includes visual program 112 andinformation repository 114. In an embodiment, visual program 112 is aprogram, application, or subprogram of a larger program for thedetermining, modeling, and displaying of signal strength in a physicalenvironment. In an embodiment, a physical environment is any physicalarea (e.g., a home, a condo, a store, an office, etc.) In an alternativeembodiment, visual program 112 may be located on any other deviceaccessible by computing device 110 via network 102. In an embodiment,information repository 114 may include a single machine learning modelor multiple machine learning models. In an embodiment, each machinelearning model may be associated with a signal device(s) or a physicalitem(s) that may be located in physical environments. In an embodiment,the machine learning model is a model of the relationship between signalstrength of signal device(s) 120 and the battery power of the signaldevice(s) 120, the type of signal device(s) 120, etc. In an embodiment,visual program 112 determines the type of signal device(s) 120, anddetermines the battery level of the signal device(s) 120 when mobiledevice(s) 130 has a signal strength from signal device(s) 120 above athreshold and signal strength is mapped for the location of the mobiledevice(s) 130 relative to the signal device(s) 120. In an embodiment,the machine learning model is a model of the relationship between signalstrength of signal device(s) 120 and the physical items found in an areaand the effects the physical items have on the signal strength of thesignal device(s) 120. In an embodiment, visual program 112 determinesphysical items found in an area and determines the battery level of thesignal device(s) 120 when mobile device(s) 130 have a signal strengthfrom signal device(s) 120 above a threshold. In an embodiment, thesignal strength is mapped for the location of the mobile device(s) 130relative to the signal device(s) 120 and visual program 112 takes intoaccount the physical items found in the physical area to map the effectsthe physical items have on the signal strength of the signal device(s)120. In an alternative embodiment, information repository 114 may belocated on any other device accessible by computing device 110 vianetwork 102.

In an embodiment, visual program 112 may determine and model signalstrength in a physical environment. In an embodiment, visual program 112may determine a physical area (i.e. physical environment). In anembodiment, visual program 112 may receive data from mobile device(s)130 and the data may include information about the signal strength foundon the mobile device(s) 130 for the connection between the mobiledevice(s) 130 and a signal device(s) 120. In an embodiment, visualprogram 112 determines if the signal strength is above a threshold. Inan embodiment, visual program 112 receives the location of the mobiledevice(s) 130 from the location device(s) 140 if the signal strength isabove a threshold. In an embodiment, visual program 112 may receivemobile device data even if the signal strength is below the threshold.In an embodiment, visual program 112 creates a machine learning modelusing the data received (i.e., location data of the mobile device(s) 130when the signal strength is above a threshold) and any other datapreviously received related (i.e., location data of the mobile device(s)130 when the signal strength is above a threshold received previously).

In an embodiment, visual program 112 may display signal strength in aphysical environment. In an embodiment, visual program 112 may determinea physical area(s). In an embodiment, visual program 112 may determineany number of signal device(s) 120 to be deployed (i.e. physicallyplaced) in the determined physical area(s). In an embodiment, visualprogram 112 may determine any number of model(s) based on the determinedsignal device(s) and the determined physical area(s). In an embodiment,visual program 112 may create a visual representation of the physicalarea(s) that includes the modeled signal strength of the signaldevice(s) in the physical area.

A machine learning model includes the construction and implementation ofalgorithms that can learn from and make predictions on data. Thealgorithms operate by building a model from example inputs in order tomake data-driven predictions or decisions, rather than followingstrictly static program instructions. In an embodiment, the model is asystem, which explains the behavior of some system, generally at thelevel where some alteration of the model predicts some alteration of thereal-world system. In an embodiment, a machine learning model may beused in a case where the data becomes available in a sequential fashion,in order to determine a mapping from the dataset to correspondinglabels. In an embodiment, the goal of the machine learning model is tominimize some performance criteria using a loss function. In anembodiment, the goal of the machine learning model is to minimize thenumber of mistakes when dealing with classification problems. In yetanother embodiment, the machine learning model may be any other modelknown in the art. In an embodiment, the machine learning model may be aSVM “Support Vector Machine.” In an alternative embodiment, the machinelearning model may be any supervised learning regression algorithm. Inyet another embodiment, the machine learning model may be a neuralnetwork.

In an embodiment, there may be a machine learning model created for eachtype of signal device(s) 120. In an embodiment, there may be a machinelearning model created for each type of physical items found in an areaand the effect the physical items have on signal strength. In anembodiment, the machine learning model is a model of the relationshipbetween signal strength of signal device(s) 120 and the battery power ofthe signal device(s) 120, the type of signal device(s) 120, etc. In anembodiment, visual program 112 determines the type of signal device(s)120, and determines the battery level of the signal device(s) 120 whenmobile device(s) 130 have a signal strength from signal device(s) 120above a threshold and signal strength is mapped for the location of themobile device(s) 130 relative to the signal device(s) 120. In anembodiment, the machine learning model is a model of the relationshipbetween signal strength of signal device(s) 120 and the physical itemsfound in an area and the effects the physical items have on the signalstrength of the signal device(s) 120. In an embodiment, visual program112 determines physical items found in the physical area. In anembodiment, visual program determines the battery level of the signaldevice(s) 120 when mobile device(s) 130 have a signal strength fromsignal device(s) 120 above a threshold. In an embodiment, visual program112 maps the signal strength for the location of the mobile device(s)130 relative to the signal device(s) 120 and visual program 112 takesinto account the physical items found in the physical area to map theeffects the physical items have on the signal strength of the signaldevice(s) 120. In an embodiment, the output for the created machinelearning model(s) are modified signal strength(s) as shown in a physicalarea.

In an embodiment, visual program 112 may include a user interface thatallows a user to interact with visual program 112. A user interface (notshown) is a program that provides an interface between a user and visualprogram 112. A user interface refers to the information (such asgraphic, text, and sound) a program presents to a user and the controlsequences the user employs to control the program. There are many typesof user interfaces. In one embodiment, the user interface can be agraphical user interface (GUI). A GUI is a type of user interface thatallows users to interact with electronic devices, such as a keyboard andmouse, through graphical icons and visual indicators, such as secondarynotations, as opposed to text-based interfaces, typed command labels, ortext navigation. In computers, GUIs were introduced in reaction to theperceived steep learning curve of command-line interfaces, whichrequired commands to be typed on the keyboard. The actions in GUIs areoften performed through direct manipulation of the graphics elements. Anexample UI is shown in FIGS. 4A and FIGS. 4B, discussed later.

In an embodiment, computing device 110 includes information repository114. In an embodiment, information repository 114 may be managed byvisual program 112. In an alternative embodiment, information repository114 may be managed by the operating system of computing device 110,alone, or together with, visual program 112. In an embodiment,information repository 114 may include information about physicalarea(s) (e.g., floor plans, etc.). In an embodiment, informationrepository 114 may include information about thresholds. In anembodiment, information repository 114 may include information for oneor more machine learning models related to physical item(s) (e.g.,walls, beams, electronic devices, etc.) that may be found in a physicalarea(s) and the effect the physical item(s) have on signal strength ofsignal device(s) 120. In an embodiment, information repository 114 mayinclude information for one or more machine learning models related tosignal device(s) 120 including, but not limited to, signal strength,battery power, type of signal device, location of the signal device,etc.

Information repository 114 may be implemented using any volatile ornon-volatile storage media for storing information, as known in the art.For example, information repository 114 may be implemented with a tapelibrary, optical library, one or more independent hard disk drives,multiple hard disk drives in a redundant array of independent disks(RAID), solid-state drives (SSD), or random-access memory (RAM).Similarly, information repository 114 may be implemented with anysuitable storage architecture known in the art, such as a relationaldatabase, an object-oriented database, or one or more tables.

In an embodiment, signal device(s) 120 may be one or more device(s) thatallows for wireless communication with another computing device. In anembodiment, signal device(s) may be any networking device that forwardsdata packets between computing devices. In an embodiment, signaldevice(s) may be any networking device that is part of a wirelesspersonal area network. In certain embodiments, signal device(s) 120 maybe a local area wireless computing device (i.e., Wi-Fi) that allowscomputing devices to connect (e.g., via 2.4 gigahertz and/or 5 gigahertzradio bands) to a network (e.g., network 102) or other computing devices(e.g., mobile device(s) 130). In certain embodiments, signal device(s)120 may be a device capable of Bluetooth™ communication that allowscomputing devices (e.g., mobile device(s) 13) to connect. In certainembodiment, signal device(s) 120 may be include the ability forradio-frequency identification (RFID). In an embodiment, signaldevice(s) may be a combination of any of the above-referenced technology(e.g., two Wi-Fi devices and a Bluetooth™ device, a Wi-Fi device and twoBluetooth™ devices, etc.) In an embodiment, signal device(s) may be partof, or the same as, network 102. In an embodiment, signal device(s) 120may emit radiation pattern that is the range of the signal device(s) 120communication ability.

In an embodiment, mobile device(s) 130 may be a laptop, tablet, ornetbook personal computer (PC), a desktop computer, a personal digitalassistant (PDA), a smart phone, camera, video camera, video device orany programmable electronic device capable of communicating with anycomputing device within data processing environment 100 via signaldevice(s) 120. In an embodiment, mobile device(s) 130 may be a smartwatch or wearable device. In general, mobile device(s) 110 isrepresentative of any electronic device or combination of electronicdevices capable of executing computer readable program instructions. Inan embodiment, there may be any number of mobile device(s) 130 in dataprocessing environment 100. In an example, mobile device(s) may be acell phone of a customer as the customer moves throughout a retailstore. In another example, mobile device(s) may be a laptop of anemployee as the employee moves throughout an office.

In an embodiment, location device(s) 140 may be a device capable oflocating, within a physical area, any other computing device (e.g.,signal device(s) 120, mobile device(s) 130, etc.) within data processingenvironment 100. In an embodiment, location device(s) 140 may be part ofa Wi-Fi positioning system (WPS). In another embodiment, locationdevice(s) 140 may be part of a global position system (GPS). In yetanother embodiment, location device(s) 140 may be part of an indoorpositioning system (IPS) capable of locating devices inside a physicalarea using any combination of radio waves, magnetic fields, acousticsignals, or any other sensory information collected from device (i.e.,mobile device(s) 130). In an embodiment, there may be any number oflocation device(s) 140 in data processing environment 100.

FIG. 2 is a flowchart of workflow 200 depicting operational steps fordetermining and modeling signal strength in a physical environment, inaccordance with an embodiment of the present invention. In oneembodiment, the steps of the workflow are performed by visual program112. In an alternative embodiment, steps of the workflow can beperformed by any other program while working with visual program 112. Inan embodiment, a user, via a user interface discussed previously, caninvoke workflow 200 upon a user wanting visual program 112 to determinesignal strength in a physical environment. In an alternative embodiment,a user, via a user interface discussed previously, can invoke workflow200 upon a user wanting visual program 112 to create a machine learningmodel for signal strength data.

Visual program 112 determines area(s) (step 205). In other words, visualprogram 112 determines a physical area (e.g., a floor plan) that mayinclude one or more of a signal device(s) 120 and location device(s)140. In an embodiment, visual program 112 may determine the area(s) fromdata found in information repository 114 (i.e., previously stored floorplans). In an alternative embodiment, visual program 112 may determinethe area(s) via user input via the user interface, discussed previously.In an embodiment, the determined area(s) may include locationinformation about physical items found in the area(s). For example, thelocations of walls, tables, electronics, utilities, metal shelves, metalracks, iron reinforced structural pylons, or any other physical item. Inan embodiment, visual program 122, when determining the area(s), mayalso receive information about the location of each signal device(s) 120and location device(s) 140. In an embodiment, the location of each ofthe signal device(s) 120 and location device(s) 140 may include one ormore of the following: an x-coordinate (a measure of distance along thex-axis), a y-coordinate (a measure of distance along the y-axis), and az-coordinate (a measure of distance along the z-axis) data so as to theplace the device(s) in all three dimensions in the physical area. Inanother embodiment, the location of the device may include one or moreof the following: a longitude (x-coordinate), a latitude (y-coordinate)and an elevation (z-coordinate).

Visual program 112 receives mobile device data (step 210). In otherwords, visual program 112 receives data from a mobile device(s) 130 whenthe mobile device(s) 130 enters the determined area(s). In anembodiment, the data that is received from mobile device(s) 130 mayinclude, but is not limited to, the type of device (i.e., brand, model,etc. of the device), the battery level of the device, a beaconidentifier for the mobile device(s) 130, and the strength of signal thatthe mobile device(s) 130 is receiving from any or all of the signaldevices(s) 120 found in the determined area(s). In an embodiment, thedata may include the received signal strength indication (RSSI) valuesor the broadcasting power of the device.

Visual program 112 determines if the mobile device is above a threshold(decision block 215). In other words, visual program 112 determines ifthe strength of the signal that the mobile device(s) 130 is receivingfrom any or all of the signal device(s) 120 found in the determinearea(s) is above a threshold. In an embodiment, the threshold may be alevel of the signal strength that the mobile device(s) 130 caneffectively communicate with the signal device(s) 120. For example, amobile device may receive a signal of −100 dBm signal strength from asignal device, but the threshold is −80 dBm signal strength, andtherefore, the signal strength does not go past the threshold. In anembodiment, visual program 112 may determine if the mobile device isabove a threshold using RSSI. In this embodiment, RSSI is used todetermine if the relative quality of the received signal is above athreshold. In an embodiment, visual program 112 may determine if themobile device is above a threshold using dBm. In this embodiment, dBm isan absolute number representing power levels in milliwatts and visualprogram 112 may determine if the received signal strength on the mobiledevice in dBm is above a threshold dBm value.

In an embodiment, the threshold may be specific to each mobile device.In an alternative embodiment, the threshold may be for all mobiledevices. In an embodiment, the threshold may be specific to thedetermined area (i.e., a commercial area may require a differentthreshold than an office area). In an embodiment, the threshold may befound in information repository 114. In an alternative embodiment, theuser may indicate the threshold to visual program 112. In response tovisual program 112 determining the strength of signal that the mobiledevice(s) 130 is receiving is below the threshold (decision block 215,no branch), visual program 112 receives mobile device data (step 210).

In response to visual program 112 determining the strength of signalthat the mobile device(s) 130 is receiving is above the threshold(decision block 215, yes branch), visual program 112 receives locationdevice(s) data (step 220). In other words, visual program 112 receives,from the location device(s) 140, the location of the mobile device(s)130 at the time the mobile device(s) 130 receives a signal above thethreshold from the signal device(s) 120. In an embodiment, the locationinformation includes the location relative to the signal device(s) 120.In an embodiment, the location information includes x-coordinate,y-coordinate, and z-coordinate data, discussed previously, so as tolocate the mobile device in all three dimensions in the physical area.

Visual program 112 creates model(s) (step 225). In an embodiment, visualprogram 112 create(s) models for each type of device in the previouslydetermined physical area using the data received from mobile device(s)130. In other words, visual program 112 may create a model for a firstdevice that indicates the different maximum signal strengths of thefirst device based on the strength of signal received from the mobiledevice(s) 130 as a user, holding mobile device(s) 130, moves through thephysical area. In an embodiment, visual program 112 creates models forphysical items found in the physical area. In other words, visualprogram 112 may create a model for a physical item (e.g., a wooden wall)and the effect the physical item has on the signal strength of a deviceusing the received signal strength from a mobile device(s) 130 as auser, holding mobile device(s) 130, moves through the physical area thatincludes the physical item. In an alternative embodiment, visual program112 may create models using other data received from other devices (notshown) that are not in the determined physical area. In other words,visual program 112 may use historical data, alone, or along with thereal time data received in step 210 to create the models for either thedevices or physical items found in the physical area.

In an embodiment, visual program 112 may create a visual representationof the location information received from the location device(s) 140,received in step 220. In other words, visual program 112 may create avisual representation of the location of a mobile device(s) 130, whenthe mobile device(s) 130 received signal strength is above a threshold.In an embodiment, this visual representation may include one or more ofthe following: the location of the signal device(s) 120, any or alllocations at which the mobile device(s) 130 receive a signal strengthabove a threshold, any physical items found in the determine area(s),discussed previously, and the broadcasting power of the signal device(s)120. In an embodiment, the visual representation is in two dimensions.In an alternative embodiment, the visual representation is in threedimensions.

FIG. 3 is a flowchart of workflow 300 depicting operational steps fordisplaying signal strength in a physical environment. In one embodiment,the steps of the workflow are performed by visual program 112. In analternative embodiment, steps of the workflow can be performed by anyother program while working with visual program 112. In an embodiment, auser, via a user interface discussed previously, can invoke workflow 300upon a user wanting to create a visual representation of the strength ofsignal of a signal device in a physical area.

Visual program 112 determines area(s) (step 305). In other words, visualprogram 112 determines a physical area (e.g., a floor plan). In anembodiment, visual program 112 may determine the area(s) from data foundin information repository 114 (i.e., previously stored floor plans). Inan alternative embodiment, visual program 112 may determine the area(s)via user input via the user interface, discussed previously. In anembodiment, the determined area(s) may include location informationabout physical items found in the area(s). For example, the locations ofwalls, tables, electronics, utilities, metal shelves, metal racks, ironreinforced structural pylons, or any other physical item.

Visual program 112 determines signal device(s) (step 310). In otherwords, visual program 112 determines the signal device(s) 120 that arefound in the area(s) determined in the previous step. In an embodiment,visual program 112 determines, via network 102, the location signaldevice(s) 120 and determines if signal device(s) 120 are located withinthe determined physical area and the location of the signal devices(s)120 in the determined area. In an alternative embodiment, a user, viathe user interface discussed previously, indicates the signal device(s)120 that are found in the determined area and the location of the signaldevice(s) 120 in the determined area. In an example, visual program 112determines there are two signal device(s) 120 (e.g., one router and oneBluetooth™ beacon.) in the determined area.

Visual program 112 determines a machine learning model(s) (step 315). Inother words, visual program 112 determines at least one machine learningmodel based on the physical area determined previously and thedetermined signal device(s). In an embodiment, visual program 112 maydetermine a machine learning model for physical items found in thedetermined area. For example, there may be a machine learning model fortables that are found in the determined physical area, a machinelearning model for metal rack in the determined physical area, and amachine learning model for iron reinforced structural pylons determinedin the physical area. In an embodiment, visual program 112 may determinea machine learning mode for each signal device(s) 120 found in thedetermined area. For example, there may be a machine learning modelspecific to the determined router and the determined Bluetooth™ beacon.

Visual program 112 creates a visual representation (step 320). In otherwords, visual program 112 creates a visual representation of the signaldevice(s) 120 found in the determined area(s) and the modified signalstrength of the signal device(s) using the machine learning modelsdetermined previously. In an embodiment, the visual representation is intwo dimensions. In an alternative embodiment, the visual representationis in three dimensions. Example embodiments of visual representationsare discussed below. In an embodiment, visual program 112 creates avisual representation of the modified signal strength of the signaldevice(s) and a user may able to modify/edit/move the modified signalstrength via a “handle” so as to adjust modified signal strength todepict how the signal device(s) will react in a particular physical areaor at a particular location.

FIG. 4A depict example visual representations of signal strength in aphysical environment, in accordance with an embodiment of the presentinvention. In the example, FIG. 4A includes physical area 400 (i.e., anoffice environment). Further, the example includes a wireless router420. Here, wireless router 420 has an expected signal strength 432.Expected signal strength 432 is shown by a circle with varying edgesremoved outside of physical area 400 that is the signal strength of thedevice in a hypothetical scenario based on the manufacturespecifications of wireless router 420. Physical area 400 includeselectronic devices 424A and electronic devices 424B, as shown in theinternet technology (IT) office, and electronic devices 424A andelectronic devices 424B may be typical electronic devices, such as, butnot limited to, a server, a printer, a computer, or any other electronicdevices that may be found in an IT office. Physical area 400 includeswall 426A. Here, wall 426A may be a load bearing metal wall thatprovides physical support to the physical area 400 ceiling. Here, wall428B may be a wall iron reinforced structural pylons that providesphysical support to the physical area 400 ceiling. Physical area 400 mayinclude any number of walls, infrastructure, etc., that are not shown.As a user, that has an electronic device (e.g., a cell phone) movesthrough physical area, the actual signal strength 434 is shown. Theactual signal strength 434 is the strength at which the electronicdevice of the user receives signal strength from the wireless router 420above a threshold. As can be seen in FIG. 4B, the actual signal strength434 is not identical to the expected signal strength 432. The actualsignal strength 434 is affected by electronic devices 424A andelectronic devices 424B along with wall 426A and wall 428B. Actualsignal strength 434 is used by visual program 112 to create models ofsignal strength for wireless router 420. Additionally, the actual signalstrength 434 is used by visual program 112 to create models of howelectronic devices 424A, electronic devices 424B, wall 426A, and wall428B effect the strength of signals in physical area 400. In anembodiment, the actual signal strength 434 may be the same as theexpected signal strength 432 if there is no interference from physicalitems. In another embodiment, the actual signal strength 434 may be lessstrong than the expected signal strength 432 if there is no interferencefrom physical items.

FIG. 4B depict example visual representations of signal strength in aphysical environment, in accordance with an embodiment of the presentinvention. In the example, FIG. 4B includes physical area 450 (i.e., aretail environment). Further, the example includes Bluetooth™ beacon470A and Bluetooth™ beacon 470B. Here, Bluetooth™ beacon 470A hasexpected signal strength 492A and Bluetooth™ beacon 470B has expectedsignal strength 492B. Expected signal strength 492A and expected signalstrength 492B is shown by a circle with varying edges removed outside ofphysical area 450 that is the signal strength of the device in ahypothetical scenario based on the manufacture specifications ofBluetooth™ beacon 470A and Bluetooth™ beacon 470B. A user may place aBluetooth™ beacon (i.e. Bluetooth™ beacon 470A and Bluetooth™ beacon470B) in physical area 450 to determine their projected signal strength.Here, the projected signal strength of a device is the strength at whichthe electronic device of a user receives signal strength from theBluetooth™ beacon 470A or Bluetooth™ beacon 470B above a threshold asthe user moves through physical area 450. The projected signal strengthis created using machine learning models, discussed previously.

Here, Bluetooth™ beacon 470A has a projected signal strength 494A thatis modified by wall 478, structure 472, structure 474, and structure476. Wall 478 is a wall iron reinforced structural pylons that providesphysical support to the physical area 400 ceiling and the machinelearning model associated with wall 478 indicates an effect in signalstrength as shown by the “dead zone” of no signal strength on the sideof the wall farther away from Bluetooth™ beacon 470A and the projectedsignal strength 494A that is different than the expected signal strength492A near and around wall 478. Structure 476 has a machine learningmodel that indicates no effects to the signal strength of Bluetooth™beacon 470A. Structure 472 and structure 474 have machine learningmodels that indicate effects in signal strength of Bluetooth™ beacon470A as shown by the projected signal strength 494A that is differentthan the expected signal strength 492A near and around structure 472 andstructure 474. Table 482 has a machine learning model that indicates noeffect on signal strength of Bluetooth™ beacon 470A.

Here, Bluetooth™ beacon 470B has a projected signal strength 494B thatis modified by wall 480, structure 472, structure 474, and structure476. Wall 480 is a wooden wall that provides no physical support to thephysical area 400 ceiling and the machine learning model associated withwall 480 indicates no effect in signal strength on the side of the wallfarther away from Bluetooth™ beacon 470B and the projected signalstrength 494B is not different than the expected signal strength 492Bnear and around wall 480. Structure 476 has a machine learning modelthat indicates no effects to the signal strength of Bluetooth™ beacon470B. Structure 472 and structure 474 have machine learning models thatindicate effects in signal strength of Bluetooth™ beacon 470B as shownby the projected signal strength 494B that is different than theexpected signal strength 492B near and around structure 472 andstructure 474. Table 482 has a machine learning model that indicates noeffect on signal strength of Bluetooth™ beacon 470B. In an embodiment,the projected signal strength 494A and projected signal strength 494Bmay be the same as the expected signal strength 492A and expected signalstrength 492B, respectively, if there is no interference from physicalitems. In another embodiment, the projected signal strength 494A andprojected signal strength 494B may be less strong than the expectedsignal strength 492A and expected signal strength 492B, respectively, ifthere is no interference from physical items.

FIG. 5 depicts computer system 500, which is an example of a system thatincludes visual program 112. Computer system 500 includes processors501, cache 503, memory 502, persistent storage 505, communications unit507, input/output (I/O) interface(s) 506 and communications fabric 504.Communications fabric 504 provides communications between cache 503,memory 502, persistent storage 505, communications unit 507, andinput/output (I/O) interface(s) 506. Communications fabric 504 can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,communications fabric 504 can be implemented with one or more buses or acrossbar switch.

Memory 502 and persistent storage 505 are computer readable storagemedia. In this embodiment, memory 502 includes random access memory(RAM). In general, memory 502 can include any suitable volatile ornon-volatile computer readable storage media. Cache 503 is a fast memorythat enhances the performance of processors 501 by holding recentlyaccessed data, and data near recently accessed data, from memory 502.

Program instructions and data used to practice embodiments of thepresent invention may be stored in persistent storage 505 and in memory502 for execution by one or more of the respective processors 501 viacache 503. In an embodiment, persistent storage 505 includes a magnetichard disk drive. Alternatively, or in addition to a magnetic hard diskdrive, persistent storage 505 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 505 may also be removable. Forexample, a removable hard drive may be used for persistent storage 505.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage505.

Communications unit 507, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 507 includes one or more network interface cards.Communications unit 507 may provide communications through the use ofeither or both physical and wireless communications links. Programinstructions and data used to practice embodiments of the presentinvention may be downloaded to persistent storage 505 throughcommunications unit 507.

I/O interface(s) 506 allows for input and output of data with otherdevices that may be connected to each computer system. For example, I/Ointerface 506 may provide a connection to external devices 508 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 508 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention can be stored on such portablecomputer readable storage media and can be loaded onto persistentstorage 505 via I/O interface(s) 506. I/O interface(s) 506 also connectto display 509.

Display 509 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

What is claimed is:
 1. A method for determining, modeling, anddisplaying signal strength in a physical environment, the methodcomprising the steps of: receiving, by one or more computer processors,information about a signal device at a first location in a firstphysical environment, wherein the signal device broadcasts a signal to acomputing device, and wherein the information about the signal deviceincludes a battery power of the signal device; receiving, by one or morecomputer processors, a first indication from the computing device,wherein the first indication includes a first strength of signal of thesignal device received by the computing device; responsive to receivingthe first indication from the computing device, determining, by one ormore computer processors, whether the first strength of signal is abovea threshold; responsive to determining the first strength of signal isabove the threshold, determining, by one or more computer processors, asecond location, wherein the second location is where the computingdevice is located when the first strength of signal is above thethreshold, and wherein the second location is within the first physicalenvironment; determining, by one or more computer processors, one ormore physical items found in the first physical environment; creating,by one or more computer processors, a machine learning model for thesignal device using the first location, the second location, the batterypower of the signal device, and the one or more physical items, whereinthe machine learning model is a model of actual signal strength of thesignal device; receiving, by one or more computer processors, a userindication to create a second visual representation, wherein the userindication includes a second physical environment, one or more signaldevices found in the second physical environment, the battery power ofeach signal device of the one or more signal devices, and at least onephysical item found in the second physical environment; creating, by oneor more computer processors, the second visual representation using thesecond visual environment, the at least one physical item found in thesecond physical environment, the battery power of each signal device ofthe one or more signal devices, and a machine learning model associatedwith the one or more signal devices found in the second physicalenvironment; and displaying, by one or more computer processors, thesecond visual representation, wherein the second visual representationdisplays the second physical environment, the at least one physical itemfound in the second physical environment, and an expected broadcastingpower for each signal device of the one or more signal devices found inthe second physical environment based on the machine learning modelassociated with the one or more signal devices.
 2. The method of claim1, further comprising: receiving, by one or more computer processors, asecond indication from the computing device, wherein the secondindication includes a second strength of signal of the signal devicereceived by the computing device; responsive to receiving the secondindication from the computing device, determining, by one or morecomputer processors, whether the second strength of signal is above thethreshold; responsive to determining the second strength of signal isabove the threshold, determining, by one or more computer processors, athird location, wherein the third location is where the computing deviceis located when the second strength of signal is above the threshold,and wherein the third location is within the first physical environment;and responsive to determining the third location, updating, by one ormore computer processors, the machine learning model for the signaldevice using the first location, the third location, and the one or morephysical items.
 3. The method of claim 1, wherein the second visualrepresentation is displayed in two dimensions or three dimensions. 4.The method of claim 1, wherein the threshold is received from a user. 5.A computer program product for determining, modeling, and displayingsignal strength in a physical environment, the computer program productcomprising: one or more computer readable storage media; and programinstructions stored on the one or more computer readable storage media,the program instructions comprising: program instructions to receivinginformation about a signal device at a first location in a firstphysical environment, wherein the signal device broadcasts a signal to acomputing device, and wherein the information about the signal deviceincludes a battery power of the signal device; program instructions toreceive a first indication from the computing device, wherein the firstindication includes a first strength of signal of the signal devicereceived by the computing device; program instructions, responsive toreceiving the first indication from the computing device, to determinewhether the first strength of signal is above a threshold; programinstruction, responsive to determining the first strength of signal isabove the threshold, to determine a second location, wherein the secondlocation is where the computing device is located when the firststrength of signal is above the threshold, and wherein the secondlocation is within the first physical environment; program instructionsto determine one or more physical items found in the first physicalenvironment; program instructions to create a machine learning model forthe signal device using the first location, the second location, thebattery power of the signal device, and the one or more physical items,wherein the machine learning model is a model of actual signal strengthof the signal device; receive a user indication to create a secondvisual representation, wherein the user indication includes a secondphysical environment, one or more signal devices found in the secondphysical environment, the battery power of each signal device of the oneor more signal devices, and at least one physical item found in thesecond physical environment; create the second visual representationusing the second visual environment, the at least one physical itemfound in the second physical environment, the battery power of eachsignal device of the one or more signal devices, and a machine learningmodel associated with the one or more signal devices found in the secondphysical environment; and display the second visual representation,wherein the second visual representation displays the second physicalenvironment, the at least one physical item found in the second physicalenvironment, and an expected broadcasting power for each signal deviceof the one or more signal devices found in the second physicalenvironment based on the machine learning model associated with the oneor more signal devices.
 6. The computer program product of claim 5,further comprising program instructions, stored on the one or morecomputer readable storage media, to: receive a second indication formthe computing device, wherein the second indication includes a secondstrength of signal of the signal device received by the computingdevice; responsive to receiving the second indication from the computingdevice, determine whether the second strength of signal is above thethreshold; responsive to determining the second strength of signal isabove the threshold, determine a third location, wherein the thirdlocation is where the computing device is located when the secondstrength of signal is above the threshold, and wherein the thirdlocation is within the first physical environment; and responsive todetermining the third location, update the machine learning model forthe signal device using the first location, the third location, and theone or more physical items.
 7. The computer program product of claim ofclaim 5, wherein the second visual representation is displayed in twodimensions or three dimensions.
 8. The computer program product of claim5, wherein the threshold is received from a user.
 9. A computer systemfor determining, modeling, and displaying signal strength in a physicalenvironment, the computer system comprising: one or more computerprocessors; one or more computer readable storage media; and programinstructions stored on the one or more computer readable storage mediafor execution by at least one of the one or more computer processors,the program instructions comprising: program instructions to receivinginformation about a signal device at a first location in a firstphysical environment, wherein the signal device broadcasts a signal to acomputing device, and wherein the information about the signal deviceincludes a battery power of the signal device; program instructions toreceive a first indication from the computing device, wherein the firstindication includes a first strength of signal of the signal devicereceived by the computing device; program instructions, responsive toreceiving the first indication from the computing device, to determinewhether the first strength of signal is above a threshold; programinstruction, responsive to determining the first strength of signal isabove the threshold, to determine a second location, wherein the secondlocation is where the computing device is located when the firststrength of signal is above the threshold, and wherein the secondlocation is within the first physical environment; program instructionsto create a machine learning model for the signal device using the firstlocation, the second location, the battery power of the signal device,and the one or more physical items, wherein the machine learning modelis a model of actual signal strength of the signal device; programinstructions to receive a user indication to create a second visualrepresentation, wherein the user indication includes a second physicalenvironment, one or more signal devices found in the second physicalenvironment, the battery power of each signal device of the one or moresignal devices, and at least one physical item found in the secondphysical environment; create the second visual representation using thesecond visual environment, the at least one physical item found in thesecond physical environment, the battery power of each signal device ofthe one or more signal devices, and a machine learning model associatedwith the one or more signal devices found in the second physicalenvironment; and display the second visual representation, wherein thesecond visual representation displays the second physical environment,the at least one physical item found in the second physical environment,and an expected broadcasting power for each signal device of the one ormore signal devices found in the second physical environment based onthe machine learning model associated with the one or more signaldevices.
 10. The computer system of claim 9, further comprising programinstructions, stored on the one or more computer readable storage mediafor execution by at least one of the one or more computer processors,to: receive a second indication form the computing device, wherein thesecond indication includes a second strength of signal of the signaldevice received by the computing device; responsive to receiving thesecond indication from the computing device, determine whether thesecond strength of signal is above the threshold; responsive todetermining the second strength of signal is above the threshold,determine a third location, wherein the third location is where thecomputing device is located when the second strength of signal is abovethe threshold, and wherein the third location is within the firstphysical environment; and responsive to determining the third location,update the machine learning model for the signal device using the firstlocation, the third location, and the one or more physical items. 11.The computer system of claim 9, wherein the second visual representationis displayed in two dimensions or three dimensions.